Piecewise nonlinear mapper for digitals

ABSTRACT

A nonlinear signal mapper that can implement any continuous one-to-one nonlinear map of baseband or intermediate-frequency digital signals. The mapping method follows a “divide-and-conquer” approach in that a nonlinear map to be implemented is piecewise decomposed into a set of simpler nonlinear component maps. The component maps are implemented using code-enabled feed-forward neural networks (FF-NNs). Each code-enabled feed-forward neural network only operates on samples of a digital input signal that lie in a specified interval of the real-valued number line. Code-enabled FF-NNs are controlled by code-words produced by a scalar quantization encoder. The quantization encoder also controls a multiplexer that directs values produced by the FF-NNs to the nonlinear mapper&#39;s output.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims benefit of U.S. Provisional application No. 60/269,235, filed Feb. 14, 2001, the content of which is herein incorporated by reference in its entirety.

TECHNICAL FIELD

[0002] This invention relates to signal mappers, and more particularly to continuous one-to-one nonlinear mapping of digital signals.

BACKGROUND

[0003] A signal mapper is an apparatus that operates on an input signal x and outputs a signal y according to a functional map f:x→y. A signal mapper is linear if signal x₁ produces signal y₁, signal x₂ produces signal y₂, and ax₁+bx₂ produces ay₁+by₂ for all constant pairs (a, b) and input pairs (x₁, x₂). Any signal mapper which violates this property is called a nonlinear mapper.

[0004] Nonlinear mappers can be employed to implement numerous digital signal processing tasks within communications systems. Power control procedures between base stations and mobile terminals within a cellular network may be based on estimated signal-to-interference plus noise power ratios (SINR). SINR estimates can be mapped to their logarithmic representation by a nonlinear mapper. The logarithmic map stabilizes the variance of an estimated SINR signal and thereby helps improve power control performance and stability. A benefit of improved power control is an increase in cellular network capacity. Automatic gain control (AGC) is another signal processing task that typically employs a nonlinear mapper. For AGC a non-linear logarithmic mapper maps a many-decade dynamic range input signal to an output signal with a relatively narrow dynamic range, an AGC loop requirement. Source coding is another digital signal processing task that may require a nonlinear mapper. A non-uniform quantizer for source coding can be implemented by first passing a digital signal through a type of nonlinear mapper called a compander. The compander compresses the signal's amplitude range which is subsequently uniformly quantized. The above digital signal processing tasks and many others such as signal enhancement, noise and interference mitigation, nonlinear pre-emphasis and de-emphasis, cryptography, digital watermarking, square roots, inverse tangents for phase, etc., may employ nonlinear mappings. Methods which implement nonlinear maps in a computationally and power efficient manner are a necessity in current and future communications systems.

[0005] Two methods for implementing nonlinear maps for digital signal processing tasks within communications systems are commonly used in prior art. The first method involves storing desired nonlinear map output values in a random-access-memory (RAM) look-up table, one for every possible mapper input value. This method allows a nonlinear mapper output value to be computed quickly if the look-up table is small and is practical for nonlinear maps requiring limited precision and having mapper input and output values within a small domain. However, for many nonlinear maps this method is impractical because it requires too great a RAM to store the look-up table, especially if the nonlinear mapper is implemented on an integrated circuit chip where chip area is a limited resource. The second method for computing a nonlinear map involves implementing a power series expansion to approximate a desired nonlinear map. Although the power series method allows a nonlinear map value to be computed with high precision, it requires a large number of numeric operations to attain high precision and therefore a longer period of time to execute. This negatively affects the time-critical throughput of a digital signal processing task within a communications systems.

[0006] A need exists for a nonlinear mapper that can quickly and accurately perform nonlinear maps of digital signals and can be implemented using minimal hardware and power consumption. Additionally, the nonlinear mapper should have the capability to be reconfigured instantaneously allowing a single nonlinear mapper to be utilized for numerous nonlinear maps that may be required in a communications system.

SUMMARY

[0007] The present invention provides a nonlinear mapper that can implement any continuous one-to-one nonlinear map of baseband or intermediate-frequency digital signals. The mapping method follows a “divide-and-conquer” approach in that a nonlinear map to be implemented is piecewise decomposed into a set of simpler nonlinear component maps. The component maps are implemented using code-enabled feed-forward neural networks (FF-NNs). Each code-enabled feed-forward neural network only operates on samples of a digital input signal that lie in a specified interval of the real-valued number line. Code-enabled FF-NNs are controlled by codewords produced by a scalar quantization encoder. The quantization encoder also controls a multiplexer that directs values produced by the FF-NNs to the nonlinear mapper's output.

[0008] Each code-enabled FF-NN implements a component nonlinear map of a piecewise decomposition as a weighted linear summation of sigmoidal basis functions. The FF-NN apparatus implements the summation in a parallel architecture thereby allowing a nonlinear map to be performed quickly. The apparatus to implement each basis function in the summation employs a simple RAM look-up table. Smoothness properties, symmetry and ordinate ranges of sigmoidal functions allow the basis functions to be implemented using very small RAM look-up tables. Weights associated with basis functions can be changed instantaneously thereby allowing the nonlinear mapper to be easily and quickly reconfigured for numerous nonlinear maps.

[0009] The details of an embodiment of the invention are set forth in the accompanying drawings and description below. Other features, objects, and advantages of the invention will be apparent from the description and drawings, and from the claims.

DESCRIPTION OF DRAWINGS

[0010] Studying the invention description concurrently with the invention drawings will facilitate understanding and implementation of the invention. The drawings are for purposes of invention description only and do not limit the scope of the invention in any way.

[0011]FIG. 1 is a top-level view of the parallel apparatus used to implement piecewise nonlinear maps of digital signals.

[0012]FIG. 2 is a block diagram of one of the code enabled feed-forward neural networks (FF-NNs).

[0013]FIG. 3 is block diagram of a basis function approximator for an FF-NN.

[0014] Like reference symbols in the various drawings indicate like elements.

DETAILED DESCRIPTION

[0015] A functional architecture depicts the functional modules of a method or system and how they are integrated. This invention description is organized into functional modules. Invention description in terms of functional modules permits flexibility in the actual hardware or software implementation of the invention.

[0016]FIG. 1 shows a top-level view of the parallel apparatus used to implement piecewise nonlinear maps of digital signals. Components of the apparatus are a K-level uniform or nonlinear scalar quantization encoder 100, a plurality of K code-enabled feed-forward neural networks 200A,200B, . . . ,200K, and a K-to-1 line multiplexer 300.

[0017] Let integer m denote the sample number of a discrete-time signal. The apparatus operates on a discrete-time deterministic or random input signal {x_(m)}_(m=0) ^(∞). Samples of the apparatus input signal are within a known open interval (a,b). Let integer K be greater than 1. Real-valued numbers a and b are endpoints of a partition

a=P ₁ <P ₂ < . . . <P _(K) <P _((K+1)) =b

[0018] where each partition end-point P_(i), i=1, . . . ,K+1, is also a real-valued number. K-level quantization encoder 100 quantizes each signal sample x_(m) within partition interval [P_(i), P_((i+1))), i=1, . . . ,K, to an amplitude level L_(i) from an amplitude level set L={L₁, . . . , L_(K)}. In the preferred embodiment the number of amplitude levels in L is K=2^(B) where B≧1 is a positive integer. For each quantized signal sample x_(m), quantization encoder 100 outputs a unique FF-NN enable codeword c(L_(i)) from a codebook

C={c(L _(i)), i=1, . . . , K}

[0019] Each codeword c(L_(i)) output by quantization encoder 100 is selected by using L_(i) as an index into codebook C. As an example, if K=4 the K-level quantization encoder 100 might be described by the following logic:

[0020] if x_(m) is in [P₁, P₂) quantize x_(m) to L₁ output c(L₁)=00

[0021] else if x_(m) is in [P₂, P₃) quantize x_(m) to L₂ output c(L₂)=01

[0022] else if x_(m) is in [P₃, P₄) quantize x_(m) to L₃ output c(L₃)=10

[0023] else x_(m) is in [P₄, P₅) quantize x_(m) to L₄ output c(L₄)=11

[0024] The invention allows the quantization encoder 100 to be implemented as a digital comparator structure or a feedforward neural network. A neural network implementation has the advantage of being better able to cope with a noisy input signal {x_(m)}_(m=0) ^(∞).

[0025]FIG. 2 shows an exemplary apparatus to implement the ith code-enabled FF-NN in 200A, 200B, . . . , 200K of FIG. 1. Referring to FIG. 2 it is seen that the exemplary apparatus for the ith FF-NN is comprised of a plurality of sigmoidal basis function approximators (201, 202, . . . , 205), a plurality of basis function weights (206, 207, . . . , 210), an adder 211, a bias weight 212, another adder 213 and enable circuitry 200. The ith FF-NN only processes samples of input signal {x_(m)}_(m=0) ^(∞) within a specified partition interval [P_(i), P_(i+1)), i=1, . . . ,K. The ith code-enabled FF-NN is assigned its own unique codeword c(L_(i)) from codebook C. The enable circuitry 200 controls its operation. The enable circuitry reads all enable codewords output by quantization encoder 100. For each enable codeword read the enable circuitry makes a decision. If a codeword other than its own is read, the enable circuitry commands the ith FF-NN to remain idle or in a sleep state, its output is disabled. If the enable circuitry reads its own enable codeword, indicating that a sample x_(m) is in partition interval [P_(i), P_(i+1)), the enable circuitry commands the ith FF-NN to output a nonlinear map value ${f_{i}\left( {x_{m},w_{i}} \right)} = {{\sum\limits_{j = 1}^{N_{i}}\quad {\alpha_{i,j}{\sigma_{i,j}\left( {{\beta_{i,j}x_{m}} + \psi_{i,j}} \right)}}} + \delta_{i}}$

[0026] Each basis function σ_(i,j) in the above equation is a continuous sigmoidal function multiplied by a real-valued basis function weight α_(i,j). An example of a continuous sigmoidal function is the hyperbolic tangent function ${\sigma (x)} = {{\tanh (x)} = \frac{e^{x} - e^{- x}}{e^{x} + e^{- x}}}$

[0027] Other well-known continuous sigmoidal functions are the logistic sigmoid and the Gaussian sigmoid. Note that the invention allows for different combinations of sigmoidal basis functions to compute the above nonlinear map value.

[0028] The exemplary ith FF-NN apparatus of FIG. 2 only employs five sigmoidal basis functions to implement a nonlinear component map ƒ_(i)(x_(m), w_(i)) for partition interval [P_(i), P_(i+1)). The invention allows as many sigmoidal basis functions as desired to implement ƒ_(i)(x_(m), w_(i)). Variable parameters for ƒ_(i)(x_(m), w_(i)) above are (1) N_(i)≧1 an integer used to specify the number of sigmoidal basis functions, and (2) learned basis function parameters which include real-valued length N_(i)-vectors $\begin{matrix} {\alpha_{i} = \left\lbrack {\alpha_{i,1}\quad \alpha_{i,2}\quad \cdots \quad \alpha_{i,N_{i}}} \right\rbrack^{T}} \\ {\beta_{i} = \left\lbrack {\beta_{i,1}\quad \beta_{i,2}\quad \cdots \quad \beta_{i,N_{i}}} \right\rbrack^{T}} \\ {\psi_{i} = \left\lbrack {\psi_{i,1}\quad \psi_{i,2}\quad \cdots \quad \psi_{i,N_{i}}} \right\rbrack^{T}} \end{matrix}$

[0029] and δ_(i) a real-valued scalar. Superscript T in the above vector equations denotes vector transpose. If input signal {x_(m)}_(m=0) ^(∞) is random partition intervals [P_(i), P_(i+1)), with a higher probability of occurrence should be parameterized with FF-NNs that are more accurate. Parameterization and partitioning for the invention apparatus can be better optimized when the probability density function of a random input signal {x_(m)}_(m=0) ^(∞) is known.

[0030]FIG. 3 shows the apparatus for implementing one of the sigmoidal basis function approximators in FIG. 2. Gain 214 multiplies input signal sample x_(m) by a real-valued multiplicative parameter β_(i,j) to produce β_(i,j)x_(m). Register 215 stores real-valued parameter ψ_(i,j) which is added to β_(i,j)x_(m) by adder 216 to form a sigmoidal basis function argument β_(i,j)x_(m)+ψ_(i,j). Sigmoidal basis function σ_(i,j) is implemented using look-up table 217. The look-up table is indexed by argument β_(i,j)x_(m)+ψ_(i,j). The size of the look-up table is dependent on the type of sigmoidal basis function chosen and the accuracy required. Smoothness, symmetry and ordinate ranges of sigmoidal functions allow for look-up tables with very small memory requirements.

[0031] To estimate parameter vectors α_(i), β_(i) and ψ_(i) and scalar δ_(i) for the ith FF-NN the finite length-M_(i) learning signals

{x_(i,m) ^(LRN)}_(m=1) ^(M) ^(_(i)) and {y_(i,m) ^(LRN)}_(m=1) ^(M) ^(_(i))

[0032] are required. Samples of the learning signals are comprised of known ƒ^(i)(x_(m), w_(i)) input values {x_(i,m) ^(LRN)}_(m=0) ^(M) ^(_(i)) and corresponding output values {y_(i,m) ^(LRN)}_(m=0) ^(M) ^(_(i)) . The real-valued length 3N_(i)+1 vector

w _(i)=[α_(i) ^(T) β_(i) ^(T) ψ_(i) ^(T) δ_(i)]^(T)

[0033] contains all the parameters required to define a desired component nonlinear map ƒ_(i)(x_(m), w_(i)) for partition interval [P_(i), P_(i+1)). The optimum w_(i) for ƒ_(i)(x_(m), w_(i)) can be computed off-line by minimizing the summation of squares cost function $\frac{1}{M_{i}}{\sum\limits_{m = 1}^{M_{i}}\quad \left( {y_{i,m}^{LRN} - {f_{i}\left( {x_{i,m}^{LRN},w_{i}} \right)}} \right)^{2}}$

[0034] over all possible length 3N_(i)+1 real-valued vectors w_(i). The invention allows other cost functions to be used if desired. A nonlinear optimization algorithm such as the Levenberg-Marquardt can be used to accomplish cost function minimization.

[0035] Function approximation theory shows that a parameterized nonlinear map ƒ_(i)(x_(m), w_(i)) for partition interval [P_(i), P_(i+1)) can approximate any nonlinear continuous one-to-one function. Approximation error is dependent on both the length M_(i) of the learning signals and the ability of the chosen parameterized structure ƒ_(i)(x_(m), w_(i)) to model the map associated with [P_(i), P_(i+1)). The design of ƒ_(i)(x_(m), w_(i)) should address: (1) the type and number N_(i) of sigmoidal basis functions, (2) the accuracy of the learning signals used to characterize the desired nonlinear map, and (3) the nonlinear optimization algorithm used and its parameters (iterations, error bound, etc.).

[0036] Returning to FIG. 1, K-to-1 line multiplexer 300 is a combinatorial logic circuit that selects one of the K output lines of FF-NNs 200A, 200B, . . . , 200K. Multiplexer 300 directs information on the selected line to the apparatus output. The selection of a particular FF-NNs output line is also controlled by an enable codeword read from the output of quantization encoder 100. The real-valued scalar output y_(m) of the K-to-1 line multiplexer 300 is described by the piecewise-nonlinear map $y_{m} = \left\{ \begin{matrix} {f_{1}\left( {x_{m},w_{1}} \right)} & {\quad {{if}\quad x_{m}\quad {is}\quad {{in}\quad\left\lbrack {P_{1},P_{2}} \right)}}} \\ {f_{2}\left( {x_{m},w_{2}} \right)} & {\quad {{if}\quad x_{m}\quad {is}\quad {{in}\quad\left\lbrack {P_{2},P_{3}} \right)}}} \\ \vdots & {\quad \vdots} \\ {f_{K}\left( {x_{m},w_{K}} \right)} & {{if}\quad x_{m}\quad {is}\quad {{in}\quad\left\lbrack {P_{K},P_{K + 1}} \right)}} \end{matrix} \right.$

[0037] where ƒ_(i)(x_(m), w_(i)) ), i=1, . . . ,K, is the parameterized nonlinear map value for partition interval [P_(i), P_(i+1)). In accordance with an enable codeword read from the output of the quantization encoder 100, multiplexer 300 selects the appropriate output value from the right-hand-side of the above equation. The above parallel decomposition allows for simple or complicated nonlinear maps to be divided piecewise. Each partition interval [P_(i), P_(i+1)), i=1, . . . , K, of the piecewise defined map is associated with a dedicated FF-NN implementation of ƒ_(i(x) _(m), w_(i)). In this manner a “divide-and-conquer” strategy is applied to implement nonlinear maps.

[0038] The present invention allows for (1) decreased memory usage due to a piecewise decomposition of a map and simple sigmoidal basis function look up tables, (2) decreased computational complexity due to map representation as a linear combination of basis functions rather than a power series expansion, (3) decreased processing delay due to a parallel apparatus which implements the basis function representation, and (4) easy reconfiguration due to the ability of the apparatus to instantaneously change the nonlinear map by downloading new parameters. This last improvement is especially useful for programmable logic devices such as field-programmable-gate-arrays. In fact, the apparatus allows ƒ_(i)(x_(m), w_(i))), i=1, . . . , K, for partition [P_(i), P_(i+1)) to be reconfigured for a different nonlinear map at any time instant. Only parameters for ƒ_(i)(x_(m), w_(i))) need to changed, the basis functions can remain the same. Thus a single nonlinear mapper can be utilized to perform many signal processing tasks resulting in decreased costs and signal processor form factor.

[0039] A single embodiment of the invention has been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, other embodiments are within the scope of the following claims. 

What is claimed is:
 1. A method of mapping a signal comprising: dividing the signal into a map having a plurality of sections; approximating a basis function of each of the plurality of sections; implementing a look-up table for each basis function.
 2. The method of claim 1, further comprising mapping a nonlinear digital signal.
 3. The method of claim 1, further comprising associating each of the plurality of sections with a look-up table.
 4. The method of claim 1, further comprising mapping each signal sample within each of the plurality of sections to an amplitude level.
 5. The method of claim 1, further comprising defining each basis function as a continuous sigmoidal function.
 6. The method of claim 1, further comprising mapping the signal offline.
 7. A signal mapper comprising: a quantization encoder which receives an input signal and divides the input signal into a plurality of segments; a plurality of neural networks which receive a corresponding one of the plurality of segments and maps the corresponding segment; and a multiplexer which selects one of the plurality of neural networks.
 8. The signal mapper of claim 7, wherein the plurality of neural network are code enabled, feed forward neural networks.
 9. The signal mapper of claim 7, wherein each of the plurality of neural networks approximates a basis function for the corresponding segment.
 10. The signal mapper of claim 9, wherein each basis function is defined as a continuous sigmoidal function
 11. The signal mapper of claim 9, wherein a look-up table is created from each basis function
 12. The signal mapper of claim 11, wherein each look-up table is associated one of the plurality of segments.
 13. The signal mapper of claim 7, wherein the input signal is a non-linear signal. 